
#ifndef SCREENTIMEMANAGER_H
#define SCREENTIMEMANAGER_H

#include <QObject>
#include <QTimer>
#include <QTime>

class ScreenTimeManager : public QObject {
    Q_OBJECT
    Q_PROPERTY(QString usedTime READ usedTime NOTIFY timeUpdated)
    Q_PROPERTY(int usedPercentage READ usedPercentage NOTIFY timeUpdated)

public:
    explicit ScreenTimeManager(QObject *parent = nullptr);
    ~ScreenTimeManager();

    QString usedTime() const;        // 获取已用时间
    int usedPercentage() const;     // 获取已用时间百分比

public slots:
    void resetUsage();              // 重置使用时间

signals:
    void timeUpdated();             // 时间更新信号
    void alertThresholdReached();   // 达到提醒阈值信号

private:
    QTimer *m_timer;                // 定时器，用于更新时间
    int m_usedSeconds;              // 已用时间（秒）
    int m_dailyLimitSeconds;        // 每日时间限制（秒）
    int m_alertThreshold;           // 提醒阈值（百分比）

    void checkThreshold();          // 检查是否达到提醒阈值
};

#endif // SCREENTIMEMANAGER_H
